Associating a post with a goal

ABSTRACT

A method for associating a post with a goal may include receiving, by a processor, a special operator term entered by a user as part of a post. The special operator term may automatically cause the post to be associated with a selected goal. The method may also include providing, by the processor, a list of goals for selection by the user in response to receiving the special operator term and adding, by the processor, the selected goal from the list of goals to the post in response to the user selecting the select goal. The method may additionally include receiving, by the processor, content of the post entered by the user. The method may further include automatically associating, by the processor, the post with the selected goal from the list of goals.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/141,247, filed Mar. 31, 2015.

BACKGROUND

Aspects of the present invention relate to communications networks,social networks, message boards, online mail clients and the like, andmore particularly to a method, system and computer program product forassociating a post to a goal.

Performance management or social performance may involve setting goals,feedback related to those goals and appraisal or evaluation of meetingthe goals. Goals may typically be defined once per year. Formal feedbackmay be given on request and may typically be once per year. Appraisal ofthe goal or goals may take a manager many hours to complete with accessto only the latest data or whatever the employee/manager was able topull together at that moment. Accordingly, relevant feedback on goalcompletion and performance may be lost in the system and never takeninto account. Goal definition and feedback may be disconnected from thework stream and from tools used on a daily basis. Thus, gatheringfeedback for an annual appraisal may be quite burdensome involving asignificant amount of time and effort if done thoroughly and involvingreview of a substantial quantity of mail, notes and calendar entries.

BRIEF SUMMARY

According to one embodiment of the present invention, a method forassociating a post with a goal may include receiving, by a processor, aspecial operator term entered by a user as part of a post. The specialoperator term automatically causes the post to be associated with aselected goal. The method may also include providing, by the processor,a list of goals for selection by the user in response to receiving thespecial operator term and adding, by the processor, the selected goalfrom the list of goals to the post in response to the user selecting theselect goal. The method may additionally include receiving, by theprocessor, content of the post entered by the user. The method mayfurther include automatically associating, by the processor, the postwith the selected goal from the list of goals.

According to another embodiment of the present invention, a system forassociating a post with a goal, the system may include a processor and amodule operating on the processor for associating a post with a goal.The module may be configured to perform a set of functions that mayinclude receiving a special operator term entered by a user as part of apost. The special operator term automatically causes the post to beassociated with a selected goal. The set of functions may also includeproviding a list of goals for selection by the user in response toreceiving the special operator term and adding the selected goal fromthe list of goals to the post in response to the user selecting theselect goal. The set of functions may additionally include receivingcontent of the post entered by the user. The set of functions mayfurther include automatically associating the post with the selectedgoal from the list of goals.

According to another embodiment of the present invention, a computerprogram product for associating a post with a goal. The computer programproduct may include a computer readable storage medium having programinstructions embodied therewith. The computer readable storage medium isnot a transitory medium per se and the program instructions areexecutable by a device to cause the device to perform a method that mayinclude receiving a special operator term entered by a user as part of apost. The special operator term automatically causes the post to beassociated with a selected goal. The method may also include providing alist of goals for selection by the user in response to receiving thespecial operator term and adding the selected goal from the list ofgoals to the post in response to the user selecting the select goal. Themethod may additionally include receiving content of the post entered bythe user. The method may further include automatically associating thepost with the selected goal from the list of goals.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is further described in the detailed descriptionwhich follows in reference to the noted plurality of drawings by way ofnon-limiting examples of embodiments of the present invention in whichlike reference numerals represent similar parts throughout the severalviews of the drawings and wherein:

FIGS. 1A-1C (collectively FIG. 1) are a flow chart of an example of amethod for associating a post with a goal in accordance with anembodiment of the present invention.

FIG. 2 is an example of a look-up table in accordance with an embodimentof the present invention.

FIG. 3 is an example of graphical user interface for associating a postwith a selected goal in accordance with an embodiment of the presentinvention.

FIG. 4 is a block schematic diagram of an example of a system forassociating a post with a goal in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

Hashtags may typically be used for giving a semblance of organizationfor social network posts, such as on Twitter, Facebook, IBM Connections,etc. Hashtags may also be used for searching content or enabling usersto follow topics. When a user makes a post there may be a differencebetween wanting the post to be associated with a hashtag and wanting toemphasize to followers of the hashtag for interaction, feedback, or foryour information (FYI) or other purposes. Therefore, an additionalmechanism or feature may be needed to differentiate between a post beingrelated to an particular topic or content and a post the user or posterwants to “emphasize” or “draw responses” for or to perform some otherfunction with respect to the post, such as associate the post with agoal or some other item.

A user may identify a post as belonging to a goal ($goal) upon craftingor creating the post. An action may automatically be taken related tothe goal. Examples of actions may include but is not necessarily limitedto notifying a person, such as a sponsor, subscriber, follower or otherperson or entity; scheduling a notification, e.g. notify the person at aset interval—one week, one day, one hour; analyzing the post for goalcompleteness (goal may be removed if complete); adding or removingsponsors based on characteristics of the post associated with the goal;automatically sorting or filtering views based on goal completeness; orother actions.

The post may be any collaboration artifact. Example of a post mayinclude, but is not necessarily limited to social update, chat, email,wikis, blogs, comment, tags or even online documents.

The goal may be public or private, and the visibility or authorizationto view of access the goal may be related to whether the goal is publicor private. The goal may be a shared goal where several people (or agroup) share the same goal. A feature of the invention may enable theaggregation of multiple people in order to identify activities relatedto a goal. These features improve the collaboration portfolio, aid Groupattention management, manage information overload for a group, reducethe effects of emailing large groups, provide more accurate, relevantperformance appraisals, and reduce time and effort involved inperformance appraisals.

An “@mention” construct or similar arrangement may be used as anotification mechanism. The @mention may be used to direct a goal orcomment about a goal to a specific person or group of persons.

FIGS. 1A-1C (collectively FIG. 1) are a flow chart of an example of amethod 100 for identifying a post as belonging to a goal in accordancewith an embodiment of the present invention. In block 102, a goal orgoals may be received from a user. A goal owner or user may enter thegoal in a form that describes the goal.

In block 104, the goals may be stored in a look-up table 106. Thelook-up table 106 may include information associated with each goal.Referring also to FIG. 2, FIG. 2 is an example of a look-up table 200 inaccordance with an embodiment of the present invention. The look-uptable 200 may be used for the look-up 106 in FIG. 1. The look-up table200 may include a plurality of rows 202 a-202 n and a plurality ofcolumns 204-216. Each row 202 a-202 n may correspond to a differentgoal. The plurality of columns may include a first column 204 containinga unique identification (ID) associated with the goal corresponding toeach row 202 a-202 n. A second column 206 may include a name of the goalor a title of the goal corresponding to each row 202 a-202 n. A thirdcolumn 208 may contain a description of the goal corresponding to therow 202 a-202 n. A fourth column 210 may include an identification of agoal owner for the goal corresponding to the row 202 a-202 n. A fifthcolumn 212 may indicate whether the goal is a public or private goal orwhether the visibility or view of the goal corresponding to the row 202a-202 n is restricted to certain users or groups of users orsubscribers. A sixth column 214 may include a list of subscribers orfollowers associated with the goal. A seventh column 216 may include anyother information that may be useful in association with the goalcorresponding to the particular row 202 a-202 n in the look-up table200. An eighth column 218 may include posts associated with the goal ora link to the posts associated with the goal corresponding to the row202 a-202 n. A goal may include more than one goal owner and may includemore than one subscriber or follower.

Referring back to FIG. 1A, a social network platform 108 and/or humanresources (HR) information systems (IS) platform may be used toimplement the invention. The social network 108 or human resources ISplatform may reside on a cloud computing platform or may be part of acloud computing platform. An online social network may be defined as aseries of connections between users. The connections allow users tocommunicate with other users of the social network using messages. Acommunication or message from a user or member of the social network maybe to the entire social network or part of the social network. Forexample, the communication may be to a private list, a circle of usersor specific group of users. The social network enables users to shareactive content and textual content. Examples of active content mayinclude but is not necessarily limited to likes, links to onlineentities, resources, materials or other items of content. Textualcontent may include formatted or unformatted text describing what aperson is doing, working on, events, etc.

In block 110, human resources goals may be tracked as part ofperformance and appear in HR files.

In block 112, a predetermined input with a post may be received from auser on the social network for association with a selected goal. Thepredetermined input may be a special operator term entered by the user.The special operator term may indicate that the post following thespecial operator term is to be associated with a selected goal. Thespecial operator term may call for a particular operation or function tobe automatically performed analogous to the “@mention” featurepreviously described except the special operator term preceding the postautomatically invokes predetermined operations as described in moredetail herein for associating the post with a selected goal or goals andfor performing other automatic functions or operations as describedherein. The special operator term may be, for example, “$goal” or someother special operator term. The special operator term “$goal”automatically causes the post, including the content of the post thatmay follow the special operator term “$goal,” to be associated with aselected goal from a list of goals stored in the look-up table 106.

A predetermined action may be automatically taken in response to thespecial operator term, $goal. Examples of the automatic action mayinclude but is not necessarily limited to generating and sending anotification to a person or user, such as a sponsor, owner, subscriberor follower of the goal; scheduling a notification, e.g., notifying aperson or user at a set interval, such as one week, one day, one hour,etc.; analyzing the post associated with the goal to determine a levelof completeness of the goal; whether a sponsor can be added or removedbased on characteristics of the post associated with the goal; andautomatically sort or filter views of the posts associated with the goalbased on goal completeness.

The post may be any entry, such as a text entry or other entry by theuser for association with the selected goal. The post may also be aparticular action for performance with respect to the selected goal.Examples of posts may include but is not limited to any collaborationartifact, such as social update, chat, email, wikis, blogs, comment,tags, online documents, etc. As previously described, the post may bepublic or private and the visibility or access may be limited to certainusers based on the goal being public or private. The goal may be ashared goal where several users or a group of users share the same goal.Aggregation of multiple users may be enabled to identify activitiesrelated to a particular goal.

In block 114, a list of goals from the look-up table 106 may bepresented in a graphical user interface (GUI) for selection by the userin response to receiving the special operator term, such as $goal, fromthe user. Referring also to FIG. 3, FIG. 3 is an example of graphicaluser interface (GUI) 300 for associating a post 302 with a selected goal304 in accordance with an embodiment of the present invention. Inresponse to the user entering the special operator term, “$goal” 306, alist of goals 308 associated with the user or for which the user isresponsible may be presented in the GUI 300 for selection by the user.The list of goals 308 may be presented in a drop down list asillustrated in the exemplary GUI 300 or in another arrangement or order.A particular goal or goals may be selected from the list of goals 308 bythe user using the GUI 300 for associating the post 302 (text entry,action to be performed in association with the goal, etc.) with theselected goal 304 or goals. The GUI 300 may be a multi-select interfaceor other type of interface. The look-up table 106 (FIG. 1A) may beaccessed or a query may be automatically generated, based on at leastthe special operator term $goal 306 and an identify of the poster oruser, to present the list of goals 308 from the look-up table 106 in theGUI 300 that may be associated with the poster or for which the postermay have responsibility or some other connection.

In block 116, a selection of a goal 304 or goals by the user may bereceived. In block 118, the selected goal 304 may be added to the post302 after the special operator term $goal 306. In the example shown inFIG. 3, the selected goal 304 is “$ Reduce project completion time”which is automatically added to the post 302 as illustrated by thebroken line 310.

In block 120, a content 312 of the post 302 entered by the user may bereceived and included in the post 302 following the selected goal 310 asshown in the example of FIG. 3. The GUI 300 may also include an activitystream 314 including messages or posts from other users or participantsin the social network.

In block 122, a determination may be made whether a notification ofassociation of the post with the selected goal was requested by the goalowners or other entities as part of the special operation term $goal. Ifa notification was not requested, the method 100 may advance to block124. In block 124, the selected goal or goals may be updated with thepost. Any access or view of the goal will present any associated posts.

If notification was requested, the method 100 may advance to block 126.In block 126, a notification of association of the post with theselected goal or goals may be sent to the goal owner or owners and/orother authorized requesters. In block 128, a second GUI may be presentedto the goal owner or owners that may include features for responding tothe notification. For example, the goal owner or owners may select totake a particular action. Example of the particular action may includebut is not necessarily limited to reviewing the post, deleting the postor goal, revising the post or some other action. The particular actionmay be initiated from the social network platform or human resourcesinformation services (HRIS) platform.

In block 130, the post may be stored in association with the selectedgoal or each selected goal. The post may be stored in association withthe selected goal or each selected goal in the look-up table 106 or inanother table or database. The post may be stored with an X-unique-IDentry, action, description or other information or details associatedwith the post. The X-unique-ID is a link between the original post andthe look-up table 106 for the goal.

A goal owner or other user may correspondingly select a preferred actionfor a selected goal. The goal or a list of goals may be presented in agraphical user interface, such as a multi-select interface or comparableuser interface. The selected action or actions may be stored inassociation with the goal or goals. Actions associated with goals may beupdated at any time. The action or list of actions may be stored in areference table. The reference table may include information includingbut not necessarily limited to the unique identification (X-Unique-ID)associated with the action, a description of the action and any otherinformation associated with the action that may be useful. The goal orlist of goals may be presented in response to a user action, such as forexample, accessing the reference table, submitting a query, activating alink in a post or any other action that may allow a user to access thereference table.

In block 132, a configuration panel may be accessed or entered by a goalsubscriber to select a goal or goals from a list of goals that may beavailable for viewing by the particular goal subscriber. In block 134,the list of goals may be presented in a graphical user interfaceassociated with the configuration panel. The graphical user interfacemay be a multi-select interface or comparable user interface.

In block 136, a selection of a goal or goals by the goal subscriber maybe received, and in block 138, the goal or list of goals selected by thesubscriber may be stored in a second look-up table. The second look-uptable may include similar information to the exemplary look-up table 200in FIG. 2.

In block 140, listeners for the goal or $goal keyword may be registered.In block 142, a popup or typeahead may be provided based on a goal orgoals the current user has selected.

In block 144, the method 100 or system may monitor for updates for theposts, or the list of goals, and present the goal typeahead in responseto detecting an update to a goal or post. Updates to a goal or post maybe received in any style, such as for example, #target, #target1target2, or % target % or others.

In block 146, actions or preferred actions for a particular goal orchosen goal may be activated. Examples of the actions for the particulargoal may include but is not necessarily limited to notify a person, suchas a sponsor, subscriber or follower; schedule a notification, e.g.,notify a person at a set interval, such as one week, one day, one hour,etc.; analyze a post for goal completeness or a level of completeness ofthe goal, whether a sponsor can be added or removed based oncharacteristics of the post associated with the goal; automaticallyfilter or sort views based on goal completeness; or other actions.Generalized actions may be used gain attention of a sponsor, manager, orengage a person with a similar goal. Examples of persons that may benotified may include a sponsor or goal owner, subscriber or followers,contributors or others. A sponsor or owner may be a person or entitydirectly responsible for the goal. Subscribers or followers may includethose interested in the progression of the goal. Contributors mayinclude those contributing or also working towards the goal. Thenotifications may be sent at a set interval (batched), for instance,once a week, once a day, once every hour or other appropriate timeinterval based the goal and expected progress toward completion.

In block 148, analysis of the post for goal completeness may beperformed. An update may be generated or marked-up to indicatecompleteness of the goal, for example, red less than 35% of the goal iscomplete, yellow between 35% and 70% of the goal is complete, and greenabove 70% of the goal is complete. The goal may be removed if completed.

In block 150, sponsors or goal owners may be added or removed based oncharacteristics of the post associated with the goal.

In block 152, views of the goals based on completeness of the goals maybe automatically sorted and filtered in response to goals beingcompleted or progress toward completion being updated.

Corresponding social activities, such as for example “repost”, “like” orcomment on a “$goal” status update may be used to weight the “post”.

Other features may include providing a feature that allows the goalsubscriber to select the preferred action upon completing the post.Analysis of the history of posts to the goal may determine how completethe goal may be. The color of the goal may also be changed to representa more complete goal similar to that described above. Some posts may bekept private and other post public by using circles or groups orcommunities to control the visibility of the update or post. A singleuser may also post goal updates on behalf of others and a user may beenabled to add goal updates to goals which are not their own. A user mayalso add to the goal post-update. The aggregation of multiple people maybe enabled in order to identify activities related to a goal. Forexample, several people may be working on a larger goal and groups ofpeople may be working on sub-goals of the larger goal.

FIG. 4 is a block schematic diagram of an example of a system 400 forassociating a post with a goal in a network in accordance with anembodiment of the present invention. The method 100 of FIGS. 1A-1C maybe embodied in and performed by the system 400. The system 400 mayinclude a processing device 402. The processing device 402 may be aserver or similar processing device. The processing device 402 mayinclude a processor 404 for controlling operation of the processingdevice 402 and for performing functions, such as those described hereinwith respect to associating a post with a goal. The processing device402 may also include a file system 406 or memory. An operating system408, applications and other programs may be stored on the file system406 for running or operating on the processor 404. A networking module410 or system may also be stored on the file system 406 and may becompiled and run on the processor 404 to perform communications betweenusers or member of a social network similar to that described herein.The networking module 410 may be any type of online communicationsmechanism for online communications or conversations.

A module 412 for associating a post with a goal may also be stored onthe file system 406. The method 100 of FIGS. 1A-1C may be embodied inthe module 412 for associating a post with a goal and may be performedby the processor 404 when the module 412 is compiled and run on theprocessor 404. The module 412 may operate in association with thenetworking module 410 and other types of communications media to performthe functions and operations associated with the method 100. In anotherembodiment, the module 412 may be a component of the networking module410 and may operate in association with the networking module 410 andother communications media.

A first look-up table 414 for storing goals of a goal owner and secondlook-up table 416 for storing selected goals of a goal subscriber mayalso be stored on the file system 406. A reference table 418 for storingactions associated with the goals may also be stored on the file system406.

The processing device 402 may also include one or more input devices,output devices or combination input/output devices, collectively I/Odevices 420. The I/O devices 420 may include, but are not necessarilylimited to, a keyboard or keypad, pointing device, such as a mouse, diskdrive and any other devices to permit a user to interface with andcontrol operation of the processing device 402 and to access the module412 for associating a post with a goal. At least one of the I/O devices420 may be a device to read a computer program product, such as computerprogram product 422. The computer program product 422 may be similar tothat described in more detail herein. The networking module 410 and themodule 412 for associating a post with a goal may be loaded on the filesystem 406 from a computer program product, such as computer programproduct 422.

A member of a network, such as a social network, or user 423 of thesystem 400 may use a computer system 424 or communications device toaccess the processing device 402 or server, networking module 410 orsystem and module 412 for associating a post with a goal. The computersystem 424 or communications device may be any sort of communicationsdevice including a mobile or handheld computer or communications device.The computer system 424 may include a processor 426 to control operationof the computer system 424 and a file system 428, memory or similar datastorage device. An operating system 430, applications 432 and otherprograms may be stored on the file system 428 for running or operatingon the processor 426. A web or Internet browser 434 may also be storedon the file system 428 for accessing the processing device 402 or servervia a network 436. The network 436 may be the Internet, an intranet orother private or proprietary network.

A networking application 438 for may also be stored on the file system428 and operate on the processor 426 of the user's computer system 424.

In accordance with an embodiment, an application 440 for associating apost with a goal may also be stored on the file system 438. The method100 in FIGS. 1A-1C, or at least portions of the method 100, may beembodied in and performed by the application 440 for associating a postwith a goal. In accordance with another embodiment, the application 440for associating a post with a goal may be part of the networkingapplication 438.

The application 440 for associating a post with a goal operating on thecomputer system 424 may interface with or operate in conjunction withthe module 412 for associating a post with a goal on the processingdevice 402 or server to perform the functions and operations describedherein for building or enhancing a relationship between users.Accordingly, the application 440 for associating a post with a goaloperating on the computer system 424 may perform some of the functionsand operations of the method 100 and the module 412 for associating apost with a goal operating on the server 402 may perform other functionsof the method 100. Some embodiments of the present invention may includeonly the module 412 for associating a post with a goal operating on theprocessing device 402 or server, and other embodiments may include onlythe application 440 for associating a post with a goal operating on theclient computer system 424 or communications device.

The client computer system 424 may also include a display 448, a speakersystem 450, and a microphone 452 for voice communications. One or moreuser interfaces may be presented on the display 448 for controllingoperation of the application 440 for associating a post with a goal andfor performing the operations and functions described herein.

The computer system 424 may also include one or more input devices,output devices or combination input/output devices, collectively I/Odevices 454. The I/O devices 454 may include a keyboard or keypad,pointing device, such as a mouse, disk drives and any other devices topermit a user, such as user 423, to interface with and control operationof the computer system 424 and to access the application 440 forassociating a post with a goal and/or the module 412 for associating apost with a goal on server 402. The I/O devices 454 may also include atleast one device configured to read computer code from a computerprogram product, such as computer program product 422.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of embodiments ofthe invention. As used herein, the singular forms “a”, “an”, and “the”are intended to include the plural forms as well, unless the contextclearly indicates otherwise. It will be further understood that theterms “comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to embodiments of the invention in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of embodiments ofthe invention. The embodiment was chosen and described in order to bestexplain the principles of embodiments of the invention and the practicalapplication, and to enable others of ordinary skill in the art tounderstand embodiments of the invention for various embodiments withvarious modifications as are suited to the particular use contemplated.

Although specific embodiments have been illustrated and describedherein, those of ordinary skill in the art appreciate that anyarrangement which is calculated to achieve the same purpose may besubstituted for the specific embodiments shown and that embodiments ofthe invention have other applications in other environments. Thisapplication is intended to cover any adaptations or variations of thepresent invention. The following claims are in no way intended to limitthe scope of embodiments of the invention to the specific embodimentsdescribed herein.

What is claimed is:
 1. A system for associating a post with a goal, thesystem comprising: a processor; a memory storing a set of programinstructions, that when executed by the processor perform a set offunctions comprising: receiving a special operator term entered by auser as part of a post, the special operator term automatically causingthe post to be associated with a selected goal; upon completion ofentering the special operator term, presenting a list of goals in agraphical user interface for selection by the user in response toreceiving the special operator term, wherein the list of goals is usedin a performance appraisal; adding and displaying the selected goal fromthe list of goals in association with the post in response to the userselecting the select goal; receiving content of the post entered by theuser; and automatically associating the post with the selected goal fromthe list of goals.
 2. The system of claim 1, wherein the set offunctions further comprises storing the post in association with theselected goal in a look-up table.
 3. The system of claim 1, whereinproviding the list of goals comprises: accessing a look-up table forgoals associated with the user; forming the list of goals includinggoals in the look-up table associated with the user; and presenting thelist of goals in a user interface for selection by the user.
 4. Thesystem of claim 1, wherein receiving content of the post comprisesreceiving an action to be performed related to the selected goal.
 5. Thesystem of claim 1, wherein the set of functions further comprises:determining that a notification was requested in response to the postbeing associated with the selected goal; and sending the notification toat least a goal owner in response to the notification being requested.6. The system of claim 5, wherein the set of functions further comprisespresenting a graphical user interface to the goal owner for performing aparticular action, the particular action comprising one of responding tothe post, deleting the post, and performing another action related tothe post.
 7. The system of claim 1, wherein the set of functions furthercomprises: presenting all goals viewable by a particular user inresponse to the particular user accessing a configuration panel; listingthe goals viewable by the particular user in a user interface associatedwith the configuration panel for selection by the particular user; andstoring the goals selected by the particular user in a look-up table. 8.The system of claim 1, wherein the set of functions further comprisespresenting each post associated with the selected goal in response tothe selected goal being viewed.
 9. The system of claim 1, wherein theset of functions further comprises analyzing the post to determine alevel of completeness of the goal associated with the post.
 10. Thesystem of claim 9, wherein the set of functions further comprisessorting a presentation of a plurality of goals based on the level ofcompleteness of each goal.
 11. The system of claim 1, wherein the set offunctions further comprises storing the post in association with theselected goal in a look-up table, the look-up table comprising for eachgoal a unique goal identification, a name of the goal, a description ofthe goal, an identification of the goal owner, an indication that thegoal is a public goal or a private goal or whether viewing the goal isrestricted to a certain group of users, a list of subscribers orfollowers associated with the goal, and a link to the post and any otherposts associated with the goal.
 12. A non-transitory computer readablestorage medium having program instructions embodied therewith, theprogram instructions being executable by a device to cause the device toperform a method comprising: receiving a special operator term enteredby a user as part of a post, the special operator term automaticallycausing the post to be associated with a selected goal; upon completionof entering the special operator term, presenting a list of goals in agraphical user interface for selection by the user in response toreceiving the special operator term, wherein the list of goals is usedin a performance appraisal; adding and displaying the selected goal fromthe list of goals in association with the post in response to the userselecting the select goal; receiving content of the post entered by theuser; and automatically associating the post with the selected goal fromthe list of goals.
 13. The computer program product of claim 12, whereinthe method further comprises storing the post in association with theselected goal in a look-up table.